package cn.kent.simple;

/**
 * 237. 删除链表中的节点
 * - 请编写一个函数，用于 删除单链表中某个特定节点。
 * 在设计函数时需要注意，你无法访问链表的头节点 head ，只能直接访问 要被删除的节点。
 * 题目数据保证需要删除的节点 不是末尾节点。
 */
public class DeleteNode {

    public static void main(String[] args) {
        ListNode root = new ListNode(4);
        root.next = new ListNode(5);
        root.next.next = new ListNode(1);
        root.next.next.next = new ListNode(9);

        deleteNode(root);

    }

    /**
     * 和下一个节点交换值和next
     */
    public static void deleteNode(ListNode node) {
        node.val = node.next.val;
        node.next = node.next.next;
    }

    public static class ListNode {
        int val;
        ListNode next;

        ListNode(int x) {
            val = x;
        }
    }
}
